package com.yuan.algorithms.base01;

import java.util.Scanner;

/**
 * @author YouYuan
 * <br>E-mail:1265161633@qq.com
 * <br>创建时间：2015年10月22日 上午10:24:59
 * <br>说明:输出n个布尔量的所有组合
 */
public class 递归_N个布尔量的全排列 {

	static Scanner in = new Scanner(System.in);
	
	public static void main(String[] args) {
		while(in.hasNext()) {
			int n = in.nextInt();
			int[] arr = new int[n+1];
			f(arr, n);
		}
	}

	private static void f(int[] arr, int s) {
		if (s == 1) {
			arr[s] = 0; print(arr);
			arr[s] = 1; print(arr);
		} else {
			arr[s] = 0; f(arr, s-1);
			arr[s] = 1; f(arr, s-1);
		}
	}

	private static void print(int[] arr) {
		for (int i = 1; i < arr.length; i++) {
			System.out.print(arr[i]);
		}
		System.out.println();
	}

}
